package com.hand.wfive.view.sign.util;

import android.graphics.Bitmap;
import android.graphics.Matrix;

/**
 * 图像操作工具类
 */
public class BitmapUtil {

    /**
     * 根据宽度缩放图片，高度等比例
     *
     * @param bm       源图
     * @param newWidth 新宽度
     * @return 缩放后的bitmap
     */
    public static Bitmap zoomImg(Bitmap bm, int newWidth) {
        // 获得图片的宽高
        int width = bm.getWidth();
        int height = bm.getHeight();
        // 计算缩放比例
        float ratio = ((float) newWidth) / width;
        // 取得想要缩放的matrix参数
        Matrix matrix = new Matrix();
        matrix.postScale(ratio, ratio);
        // 得到新的图片
        return Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
    }

    /**
     * 缩放图片至指定宽高
     *
     * @param bm        源图
     * @param newWidth  新宽度
     * @param newHeight 新高度
     * @return 缩放后的bitmap
     */
    public static Bitmap zoomImage(Bitmap bm, int newWidth, int newHeight) {
        // 获得图片的宽高
        int width = bm.getWidth();
        int height = bm.getHeight();
        // 计算缩放比例
        float scaleWidth = ((float) newWidth) / width;
        float scaleHeight = ((float) newHeight) / height;
        // 取得想要缩放的matrix参数
        Matrix matrix = new Matrix();
        matrix.postScale(scaleWidth, scaleHeight);
        // 得到新的图片
        return Bitmap.createBitmap(bm, 0, 0, width, height, matrix, true);
    }

}
